package bosc.cn.converter.wallet;

import bosc.cn.dto.wallet.WalletListResDTO;
import bosc.cn.dto.wallet.WalletRegisterResDTO;
import bosc.cn.service.wallet.bo.WalletListResBO;
import bosc.cn.service.wallet.bo.WalletRegisterResBO;

import java.util.ArrayList;
import java.util.List;

/**
 * BO -> DTO 转换器
 * 负责响应对象的转换
 */
public class WalletListResConverter {

    public static WalletListResDTO toDTO(WalletListResBO bo) {
        if (bo == null) {
            return null;
        }
        WalletListResDTO dto = new WalletListResDTO();
        dto.setPrcSts(bo.getPrcSts());
        dto.setPrcMsg(bo.getPrcMsg());

        // 分页参数转换
        dto.setTotalNo(bo.getTotalNo());
        dto.setTotalPage(bo.getTotalPage());
//        dto.setCurrentPage(bo.getCurrentPage());
//        dto.setPageSize(bo.getPageSize());

        if (bo.getWltInfoList() != null) {
            List<WalletListResDTO.WalletInfoDTO> dtoList = new ArrayList<>();
            for (WalletListResBO.WalletInfoBO walletInfoBO : bo.getWltInfoList()) {
                WalletListResDTO.WalletInfoDTO walletInfoDTO = new WalletListResDTO.WalletInfoDTO();
                walletInfoDTO.setWltId(walletInfoBO.getWltId());
                walletInfoDTO.setWltName(walletInfoBO.getWltName());
                walletInfoDTO.setWltSts(walletInfoBO.getWltSts());
                walletInfoDTO.setWltBal(walletInfoBO.getWltBal());
                walletInfoDTO.setWltBalLmt(walletInfoBO.getWltBalLmt());
                walletInfoDTO.setSngLmtAmt(walletInfoBO.getSngLmtAmt());
                walletInfoDTO.setWltAuthDt(walletInfoBO.getWltAuthDt());
                dtoList.add(walletInfoDTO);
            }
            dto.setWltInfoList(dtoList);
        }

        return dto;
    }
}
